function formatTime(time) {
	debugger;
	if (typeof time !== 'number' || time < 0) {
		return time
	}
	var hour = parseInt(time / 3600)
	time = time % 3600
	var minute = parseInt(time / 60)
	time = time % 60
	var second = time

	return ([hour, minute, second]).map(function(n) {
		n = n.toString()
		return n[1] ? n : '0' + n
	}).join(':')
}

function formatLocation(longitude, latitude) {
	if (typeof longitude === 'string' && typeof latitude === 'string') {
		longitude = parseFloat(longitude)
		latitude = parseFloat(latitude)
	}

	longitude = longitude.toFixed(2)
	latitude = latitude.toFixed(2)

	return {
		longitude: longitude.toString().split('.'),
		latitude: latitude.toString().split('.')
	}
}

/**
 * 拼接对象为请求字符串
 * 对于需要编码的文本（比如说中文）我们要进行编码
 * @param {Object} obj - 待拼接的对象
 * @returns {string} - 拼接成的请求字符串
 **/
function formatGetUrl(obj) {
  const params = []
  Object.keys(obj).forEach((key) => {
    let value = obj[key]
    if (typeof value !== 'undefined' || value !== null) {
      params.push([key, encodeURIComponent(value)].join('='))
    }
  })
  return '?' + params.join('&')
}

function showTime(t) {
    var time
    time = t >= 10 ? t : '0' + t
    return time
}
  
function formatDate( date){
	var year = date.getFullYear();                // 年
	var month = showTime(date.getMonth() + 1);        // 月        // 星期
	var day = showTime(date.getDate());          // 日
	var hours = showTime(date.getHours());         // 小时
	var minutes = showTime(date.getMinutes());    // 分钟
	var second = showTime(date.getSeconds());     // 秒
	var str = '';
	str = str + year + '-' + month + '-' + day
	return str;
}

	function keepTwoDecimalFull(num) {
	   var result = parseFloat(num);
	   if (isNaN(result)) {
		   return false;
	   }
	   result = Math.round(num * 100) / 100;
	   var s_x = result.toString(); //将数字转换为字符串

		 var pos_decimal = s_x.indexOf('.'); //小数点的索引值


		 // 当整数时，pos_decimal=-1 自动补0
		 if (pos_decimal < 0) {
			 pos_decimal = s_x.length;
			 s_x += '.';
		 }

		 // 当数字的长度< 小数点索引+2时，补0
		 while (s_x.length <= pos_decimal + 2) {
			 s_x += '0';
		 }
		 return s_x;
	}

function nowFormatDate() {
	let date = new Date();
	var seperator1 = "-";
	var year = date.getFullYear();
	var month = date.getMonth() + 1;
	var strDate = date.getDate();
	if (month >= 1 && month <= 9) {
		month = "0" + month;
	}
	if (strDate >= 0 && strDate <= 9) {
		strDate = "0" + strDate;
	}
	var currentdate = year + seperator1 + month + seperator1 + strDate;
	return currentdate;
}

var dateUtils = {
	UNITS: {
		'年': 31557600000,
		'月': 2629800000,
		'天': 86400000,
		'小时': 3600000,
		'分钟': 60000,
		'秒': 1000
	},
	humanize: function(milliseconds) {
		var humanize = '';
		for (var key in this.UNITS) {
			if (milliseconds >= this.UNITS[key]) {
				humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
				break;
			}
		}
		return humanize || '刚刚';
	},
	format: function(dateStr) {
		var date = this.parse(dateStr)
		var diff = Date.now() - date.getTime();
		if (diff < this.UNITS['天']) {
			return this.humanize(diff);
		}
		var _format = function(number) {
			return (number < 10 ? ('0' + number) : number);
		};
		return date.getFullYear() + '/' + _format(date.getMonth() + 1) + '/' + _format(date.getDate()) + '-' +
			_format(date.getHours()) + ':' + _format(date.getMinutes());
	},
	parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串，转化为一个Date对象
		var a = str.split(/[^0-9]/);
		return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
	},
	formatYMD: function(date){
		 var year = date.getFullYear();                // 年
		    var month = showTime(date.getMonth() + 1);        // 月        // 星期
		    var day = showTime(date.getDate());          // 日
		    var hours = showTime(date.getHours());         // 小时
		    var minutes = showTime(date.getMinutes());    // 分钟
		    var second = showTime(date.getSeconds());     // 秒
		    var str = '';
		    str = str + year + '-' + month + '-' + day
			return str;
	},
};

export {
	formatTime,
	formatLocation,
	dateUtils,
	formatGetUrl,
	formatDate,
	nowFormatDate,
	keepTwoDecimalFull,
}
